
// Generated from Jass.g4 by ANTLR 4.13.2

#pragma once


#include "antlr4-runtime.h"


namespace antlrcppjassparser {


class  JassLexer : public antlr4::Lexer {
public:
  enum {
    T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, 
    T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, 
    T__14 = 15, EQUALS = 16, GLOBALS = 17, ENDGLOBALS = 18, NATIVE = 19, 
    FUNCTION = 20, TAKES = 21, RETURNS = 22, ENDFUNCTION = 23, NOTHING = 24, 
    CALL = 25, SET = 26, RETURN = 27, ARRAY = 28, TYPE = 29, EXTENDS = 30, 
    IF = 31, THEN = 32, ELSE = 33, ENDIF = 34, ELSEIF = 35, CONSTANT = 36, 
    LOCAL = 37, LOOP = 38, ENDLOOP = 39, EXITWHEN = 40, DEBUG = 41, STRING_LITERAL = 42, 
    INTEGER = 43, HEX_CONSTANT = 44, DOLLAR_HEX_CONSTANT = 45, RAWCODE = 46, 
    REAL = 47, NULL_ = 48, TRUE = 49, FALSE = 50, NOT = 51, OR = 52, AND = 53, 
    ID = 54, WS = 55, NEWLINE = 56
  };

  explicit JassLexer(antlr4::CharStream *input);

  ~JassLexer() override;


  std::string getGrammarFileName() const override;

  const std::vector<std::string>& getRuleNames() const override;

  const std::vector<std::string>& getChannelNames() const override;

  const std::vector<std::string>& getModeNames() const override;

  const antlr4::dfa::Vocabulary& getVocabulary() const override;

  antlr4::atn::SerializedATNView getSerializedATN() const override;

  const antlr4::atn::ATN& getATN() const override;

  // By default the static state used to implement the lexer is lazily initialized during the first
  // call to the constructor. You can call this function if you wish to initialize the static state
  // ahead of time.
  static void initialize();

private:

  // Individual action functions triggered by action() above.

  // Individual semantic predicate functions triggered by sempred() above.

};

}  // namespace antlrcppjassparser
